package co.com.smart.persistence.entity.dto;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;


/**
 * The persistent class for the smart_citas database table.
 * 
 */
@Entity
@Table(name="smart_citas")
@NamedQuery(name="SmartCita.findAll", query="SELECT s FROM SmartCita s")
public class SmartCita implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@Column(name="sm_sccitas")
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private BigDecimal smSccitas;

	@Column(name="sm_cousuario")
	private String smCousuario;

	@Temporal(TemporalType.DATE)
	@Column(name="sm_fhhora")
	private Date smFhhora;

	@Temporal(TemporalType.DATE)
	@Column(name="sm_fhingreso")
	private Date smFhingreso;

	@Temporal(TemporalType.DATE)
	@Column(name="sm_fhmodificacion")
	private Date smFhmodificacion;

	@Temporal(TemporalType.DATE)
	@Column(name="sm_fhretiro")
	private Date smFhretiro;

	@Column(name="sm_scsede")
	private BigDecimal smScsede;

	@Column(name="sm_sczona")
	private BigDecimal smSczona;

	//bi-directional many-to-one association to SmartAgenda
	@ManyToOne(optional = false, fetch = FetchType.LAZY)
	@JoinColumn(name="sm_scagenda", referencedColumnName = "sm_scagenda")
	private SmartAgenda smartAgenda;

	//bi-directional many-to-one association to SmartPaciente
	@ManyToOne(optional = false, fetch = FetchType.LAZY)
	@JoinColumn(name="sm_scpaciente", referencedColumnName = "sm_scpaciente")
	private SmartPaciente smartPaciente;

	//bi-directional many-to-one association to SmartMedico
	@ManyToOne(optional = false, fetch = FetchType.LAZY)
	@JoinColumn(name="sm_scmedico", referencedColumnName = "sm_scmedico")
	private SmartMedico smartMedico;

	public SmartCita() {
	}

	public BigDecimal getSmSccitas() {
		return this.smSccitas;
	}

	public void setSmSccitas(BigDecimal smSccitas) {
		this.smSccitas = smSccitas;
	}

	public String getSmCousuario() {
		return this.smCousuario;
	}

	public void setSmCousuario(String smCousuario) {
		this.smCousuario = smCousuario;
	}

	public Date getSmFhhora() {
		return this.smFhhora;
	}

	public void setSmFhhora(Date smFhhora) {
		this.smFhhora = smFhhora;
	}

	public Date getSmFhingreso() {
		return this.smFhingreso;
	}

	public void setSmFhingreso(Date smFhingreso) {
		this.smFhingreso = smFhingreso;
	}

	public Date getSmFhmodificacion() {
		return this.smFhmodificacion;
	}

	public void setSmFhmodificacion(Date smFhmodificacion) {
		this.smFhmodificacion = smFhmodificacion;
	}

	public Date getSmFhretiro() {
		return this.smFhretiro;
	}

	public void setSmFhretiro(Date smFhretiro) {
		this.smFhretiro = smFhretiro;
	}

	public BigDecimal getSmScsede() {
		return this.smScsede;
	}

	public void setSmScsede(BigDecimal smScsede) {
		this.smScsede = smScsede;
	}

	public BigDecimal getSmSczona() {
		return this.smSczona;
	}

	public void setSmSczona(BigDecimal smSczona) {
		this.smSczona = smSczona;
	}

	public SmartAgenda getSmartAgenda() {
		return this.smartAgenda;
	}

	public void setSmartAgenda(SmartAgenda smartAgenda) {
		this.smartAgenda = smartAgenda;
	}

	public SmartPaciente getSmartPaciente() {
		return this.smartPaciente;
	}

	public void setSmartPaciente(SmartPaciente smartPaciente) {
		this.smartPaciente = smartPaciente;
	}

	public SmartMedico getSmartMedico() {
		return this.smartMedico;
	}

	public void setSmartMedico(SmartMedico smartMedico) {
		this.smartMedico = smartMedico;
	}

}